Autogenerated HTML docs for v2.1.0-238-gce1d3
diff --git a/RelNotes/2.2.0.txt b/RelNotes/2.2.0.txt index f771854..22b7361 100644 --- a/RelNotes/2.2.0.txt +++ b/RelNotes/2.2.0.txt
@@ -25,6 +25,15 @@ Performance, Internal Implementation, etc. + * The API to manipulate the "refs" is currently undergoing a revamp + to make it more transactional, with the eventual goal to allow + all-or-none atomic updates and migrating the storage to something + other than the traditional filesystem based one (e.g. databases). + + * We no longer attempt to keep track of individual dependencies to + the header files in the build procedure, relying on automated + dependency generation support from modern compilers. + * In tests, we have been using NOT_{MINGW,CYGWIN} test prerequisites long before negated prerequisites e.g. !MINGW were invented. The former has been converted to the latter to avoid confusion. @@ -37,12 +46,25 @@ to update the file again while still holding the lock, but the lockfile API lacked support for such an access pattern. + * The API to allocate the structure to keep track of commit + decoration has been updated to make it less cumbersome to use. + * An in-core caching layer to let us avoid reading the same - configuration files number of times has been added. + configuration files number of times has been added. A few commands + have been converted to use this subsystem. * Various code paths have been cleaned up and simplified by using "strbuf", "starts_with()", and "skip_prefix()" APIs more. + * A few codepaths that died when large blobs that would not fit in + core are involved in their operation have been taught to punt + instead, by e.g. marking too large a blob as not to be diffed. + + * A few more code paths in "commit" and "checkout" have been taught + to repopulate the cache-tree in the index, to help speed up later + "write-tree" (used in "commit") and "diff-index --cached" (used in + "status"). + Also contains various documentation updates and code clean-ups. @@ -89,3 +111,22 @@ * Pack-protocol documentation had a minor typo. (merge 5d146f7 sp/pack-protocol-doc-on-shallow later to maint). + + * "git checkout -m" did not switch to another branch while carrying + the local changes forward when a path was deleted from the index. + (merge 6a143aa jn/unpack-trees-checkout-m-carry-deletion later to maint). + + * With sufficiently long refnames, "git fast-import" could have + overflown an on-stack buffer. + (merge c252785 jk/fast-import-fixes later to maint). + + * After "pack-refs --prune" packed refs at the top-level, it failed + to prune them. + (merge afd11d3 jk/prune-top-level-refs-after-packing later to maint). + + * Progress output from "git gc --auto" was visible in "git fetch -q". + (merge 6fceed3 nd/fetch-pass-quiet-to-gc-child-process later to maint). + + * We used to pass -1000 to poll(2), expecting it to also mean "no + timeout", which should be spelled as -1. + (merge 6c71f8b et/spell-poll-infinite-with-minus-one-only later to maint). diff --git a/config.txt b/config.txt index c55c22a..3b5b24a 100644 --- a/config.txt +++ b/config.txt
@@ -499,7 +499,8 @@ Files larger than this size are stored deflated, without attempting delta compression. Storing large files without delta compression avoids excessive memory usage, at the - slight expense of increased disk usage. + slight expense of increased disk usage. Additionally files + larger than this size are always treated as binary. + Default is 512 MiB on all platforms. This should be reasonable for most projects as source code and other text files can still
diff --git a/git-config.html b/git-config.html index eca75af..c459a4b 100644 --- a/git-config.html +++ b/git-config.html
@@ -2019,7 +2019,8 @@ Files larger than this size are stored deflated, without attempting delta compression. Storing large files without delta compression avoids excessive memory usage, at the - slight expense of increased disk usage. + slight expense of increased disk usage. Additionally files + larger than this size are always treated as binary. </p> <div class="paragraph"><p>Default is 512 MiB on all platforms. This should be reasonable for most projects as source code and other text files can still
diff --git a/gitattributes.html b/gitattributes.html index 2b86d34..997c6fb 100644 --- a/gitattributes.html +++ b/gitattributes.html
@@ -1209,8 +1209,8 @@ <p> A path to which the <tt>diff</tt> attribute is unspecified first gets its contents inspected, and if it looks like - text, it is treated as text. Otherwise it would - generate <tt>Binary files differ</tt>. + text and is smaller than core.bigFileThreshold, it is treated + as text. Otherwise it would generate <tt>Binary files differ</tt>. </p> </dd> <dt class="hdlist1"> @@ -1857,7 +1857,7 @@ <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> -Last updated 2014-01-27 13:30:07 PST +Last updated 2014-09-11 14:53:10 PDT </div> </div> </body>
diff --git a/gitattributes.txt b/gitattributes.txt index 643c1ba..9b45bda 100644 --- a/gitattributes.txt +++ b/gitattributes.txt
@@ -440,8 +440,8 @@ A path to which the `diff` attribute is unspecified first gets its contents inspected, and if it looks like - text, it is treated as text. Otherwise it would - generate `Binary files differ`. + text and is smaller than core.bigFileThreshold, it is treated + as text. Otherwise it would generate `Binary files differ`. String::
diff --git a/technical/api-config.html b/technical/api-config.html index 94a9a65..3ddf2ba 100644 --- a/technical/api-config.html +++ b/technical/api-config.html
@@ -961,6 +961,27 @@ the user’s home directory when found at the beginning of the path. </p> </dd> +<dt class="hdlist1"> +<tt>git_die_config(const char *key, const char *err, ...)</tt> +</dt> +<dd> +<p> + First prints the error message specified by the caller in <tt>err</tt> and then + dies printing the line number and the file name of the highest priority + value for the configuration variable <tt>key</tt>. +</p> +</dd> +<dt class="hdlist1"> +<tt>void git_die_config_linenr(const char *key, const char *filename, int linenr)</tt> +</dt> +<dd> +<p> + Helper function which formats the die error message according to the + parameters entered. Used by <tt>git_die_config()</tt>. It can be used by callers + handling <tt>git_config_get_value_multi()</tt> to print the correct error message + for the desired value. +</p> +</dd> </dl></div> <div class="paragraph"><p>See test-config.c for usage examples.</p></div> </div> @@ -1197,7 +1218,7 @@ <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> -Last updated 2014-09-02 14:43:52 PDT +Last updated 2014-09-11 14:53:10 PDT </div> </div> </body>
diff --git a/technical/api-config.txt b/technical/api-config.txt index 21f280c..0d8b99b 100644 --- a/technical/api-config.txt +++ b/technical/api-config.txt
@@ -155,6 +155,19 @@ Similar to `git_config_get_string`, but expands `~` or `~user` into the user's home directory when found at the beginning of the path. +`git_die_config(const char *key, const char *err, ...)`:: + + First prints the error message specified by the caller in `err` and then + dies printing the line number and the file name of the highest priority + value for the configuration variable `key`. + +`void git_die_config_linenr(const char *key, const char *filename, int linenr)`:: + + Helper function which formats the die error message according to the + parameters entered. Used by `git_die_config()`. It can be used by callers + handling `git_config_get_value_multi()` to print the correct error message + for the desired value. + See test-config.c for usage examples. Value Parsing Helpers
diff --git a/technical/api-run-command.html b/technical/api-run-command.html index e9b94d7..d690c94 100644 --- a/technical/api-run-command.html +++ b/technical/api-run-command.html
@@ -751,6 +751,11 @@ <div class="sect1"> <h2 id="_functions">Functions</h2> <div class="sectionbody"> +<div class="paragraph"><p><tt>child_process_init</tt></p></div> +<div class="literalblock"> +<div class="content"> +<pre><tt>Initialize a struct child_process variable.</tt></pre> +</div></div> <div class="dlist"><dl> <dt class="hdlist1"> <tt>start_command</tt> @@ -885,8 +890,8 @@ <div class="olist arabic"><ol class="arabic"> <li> <p> -allocates and clears (memset(&chld, 0, sizeof(chld));) a - struct child_process variable; +allocates and clears (using child_process_init() or + CHILD_PROCESS_INIT) a struct child_process variable; </p> </li> <li> @@ -1159,7 +1164,7 @@ <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> -Last updated 2014-06-16 14:13:22 PDT +Last updated 2014-09-11 14:53:10 PDT </div> </div> </body>
diff --git a/technical/api-run-command.txt b/technical/api-run-command.txt index 69510ae..842b838 100644 --- a/technical/api-run-command.txt +++ b/technical/api-run-command.txt
@@ -13,6 +13,10 @@ Functions --------- +`child_process_init` + + Initialize a struct child_process variable. + `start_command`:: Start a sub-process. Takes a pointer to a `struct child_process` @@ -96,8 +100,8 @@ The caller: -1. allocates and clears (memset(&chld, 0, sizeof(chld));) a - struct child_process variable; +1. allocates and clears (using child_process_init() or + CHILD_PROCESS_INIT) a struct child_process variable; 2. initializes the members; 3. calls start_command(); 4. processes the data;